/*
 * NodoVotante.cpp
 *
 *  Created on: 13/10/2011
 *      Author: mario
 */

#include "NodoVotante.h"

#include <typeinfo>


NodoVotante::NodoVotante() {}

NodoVotante::~NodoVotante() {
	delete data;
}

Votante* NodoVotante::getNodeValue() const{
	return this->data;
}

void NodoVotante::setNodeValue(Votante* value) {
	this->data = value;
}

NodoVotante::NodoVotante(const NodoVotante &nodoVotante) {
	this->setNext(nodoVotante.getNext());
	data = nodoVotante.data;
}

NodoVotante& NodoVotante::operator=(const NodoVotante &nodoVotante) {
	this->setNext(nodoVotante.getNext());
	this->data = nodoVotante.data;
	return *this;
}

NodoVotante* NodoVotante::clone() const {
	return new NodoVotante(*this);
}

bool NodoVotante::equals(const Node& node) const {
	if (typeid(&node) == typeid(this)) {
		NodoVotante& nodoVotante = (NodoVotante&)node;
		if (this->getNodeValue()->getDni() == nodoVotante.getNodeValue()->getDni()) {
			return true;
		}
	}
	return false;
}

